package source;
import java.rmi.*;
import java.sql.Time;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;

import dataobjects.Film;
import dataobjects.User;
import dataobjects.Vorstellung;

public interface ServerInterface extends Remote
{
	public User checkLoginData(String username, String password) throws RemoteException, Exception;
	public void logout(User currentuser) throws RemoteException, Exception;
	public ArrayList<Film> getFilmList() throws RemoteException, Exception;
	public ArrayList<Vorstellung> getVorstellungList(Film film) throws RemoteException, Exception;
	public void insertNewFilm(String filmname, String filmbeschreibung, Time filmdauer, String filmtrailer) throws RemoteException, Exception;
	public void editFilm(int filmid, String filmname, String filmbeschreibung, Time filmdauer, String filmtrailer) throws RemoteException, Exception;
	public void deleteFilm(int filmid) throws RemoteException, Exception;	
	public void insertNewShow(int saalid, int filmid, Date date, Time beginn)throws RemoteException, Exception;
	public void editShow(int vid, int saalid, int filmid, Date date, Time beginn)throws RemoteException, Exception;
	public void deleteShow(int vid) throws RemoteException, Exception;	
	public boolean checkFreeSitzplatz(int v_id, int sitz_nr) throws RemoteException, Exception;
	public void insertNewReservation(int v_ID, int sitz_nr) throws RemoteException, Exception;
	public ArrayList<Integer> getReservationList(int v_id) throws RemoteException, Exception;
}